﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ContaTelefone.Data;
using ContaTelefone.Entities;

namespace ContaTelefone.Process
{
    public class NumerosTelProcess
    {
        NUMEROS_TELRepository objRepository = new NUMEROS_TELRepository();

        public void Incluir(NumerosTelEntities objEtt)
        {
            NUMEROS_TEL obj = new NUMEROS_TEL();
            obj.TELEFONE = objEtt.TELEFONE;
            obj.NOME = objEtt.NOME;
            obj.EMAIL = objEtt.EMAIL;
            obj.ASSINATURA = objEtt.ASSINATURA;
            obj.DESCONTO = objEtt.DESCONTO;
            obj.DADOS = objEtt.DADOS;
            obj.BLACKBERRY = objEtt.BLACKBERRY;
            obj.OUTROS = objEtt.OUTROS;
            obj.COD_CCUS = objEtt.COD_CCUS;
            obj.COBRAR = objEtt.COBRAR;
            obj.COBRAR_ASSINATURA = objEtt.COBRAR_ASSINATURA;
            obj.COBRAR_BLACKBERRY = objEtt.COBRAR_BLACKBERRY;
            obj.COBRAR_DADOS = objEtt.COBRAR_DADOS;
            obj.COBRAR_OUTROS = objEtt.COBRAR_OUTROS;

            objRepository.Add(obj);
        }

        public void Alterar(NumerosTelEntities objEtt)
        {
            NUMEROS_TEL obj = objRepository.getNUMEROS_TEL(objEtt.TELEFONE);
            if (obj != null)
            {
                obj.TELEFONE = objEtt.TELEFONE;
                obj.NOME = objEtt.NOME;
                obj.EMAIL = objEtt.EMAIL;
                obj.ASSINATURA = objEtt.ASSINATURA;
                obj.DESCONTO = objEtt.DESCONTO;
                obj.DADOS = objEtt.DADOS;
                obj.BLACKBERRY = objEtt.BLACKBERRY;
                obj.OUTROS = objEtt.OUTROS;
                obj.COD_CCUS = objEtt.COD_CCUS;
                obj.COBRAR = objEtt.COBRAR;
                obj.COBRAR_ASSINATURA = objEtt.COBRAR_ASSINATURA;
                obj.COBRAR_BLACKBERRY = objEtt.COBRAR_BLACKBERRY;
                obj.COBRAR_DADOS = objEtt.COBRAR_DADOS;
                obj.COBRAR_OUTROS = objEtt.COBRAR_OUTROS;

                objRepository.Update();
            }
        }

        public void Delete(NumerosTelEntities objEtt)
        {
            NUMEROS_TEL obj = objRepository.getNUMEROS_TEL(objEtt.TELEFONE);
            if (obj != null)
                objRepository.Delete(obj);
        }

        public NumerosTelEntities getobj(string telefone)
        {
            NUMEROS_TEL obj = objRepository.getNUMEROS_TEL(telefone);
            if (obj != null)
            {
                NumerosTelEntities objEtt = new NumerosTelEntities();
                objEtt.TELEFONE = obj.TELEFONE;
                objEtt.NOME = obj.NOME;
                objEtt.EMAIL = obj.EMAIL;
                objEtt.ASSINATURA = obj.ASSINATURA;
                objEtt.DESCONTO = obj.DESCONTO;
                objEtt.DADOS = obj.DADOS;
                objEtt.BLACKBERRY = obj.BLACKBERRY;
                objEtt.OUTROS = obj.OUTROS;
                objEtt.COD_CCUS = obj.COD_CCUS;
                objEtt.COBRAR = obj.COBRAR;
                objEtt.COBRAR_ASSINATURA = obj.COBRAR_ASSINATURA;
                objEtt.COBRAR_BLACKBERRY = obj.COBRAR_BLACKBERRY;
                objEtt.COBRAR_DADOS = obj.COBRAR_DADOS;
                objEtt.COBRAR_OUTROS = obj.COBRAR_OUTROS;

                return objEtt;
            }
            else
                return null;
        }

        public List<NumerosTelEntities> Listar()
        {
            List<NumerosTelEntities> lista = new List<NumerosTelEntities>();

            foreach (NUMEROS_TEL obj in objRepository.GetNUMEROS_TELs())
            {
                lista.Add(getobj(obj.TELEFONE));
            }

            return lista;
        }
    }
}
